
/**
 * 这个一个插件引入的举例
 */

/**
 * 这个在第一次是一个异步的操作(所以你尽可能让它先执行)
 * 然后在服务器启动完成事件,再去使用yoyoSqlite库的方法
 */
 var sqlite = null;
 async function yoyoSqlite() {
     let sqlitePath = '.\\plugins\\lib\\Yoyo\\yoyoSqlite-2.0.2.js';//位置希望不要更改,这样方便其它插件复用
     if (!File.exists(sqlitePath)) {
         logger.warn('检查到本地lib下无yoyoSqlite库,正在从从仓库获取!');
         await (() => {
             return new Promise(resolve => {
                 network.httpGet('https://gitee.com/Y_oyo/yoyo-mcbe-lite-xloader-item/raw/master/sql/yoyoSqlite-2.0.2.js', (status, result) => {
                     if (status == 200) {
                         File.writeTo(sqlitePath, result);
                         logger.warn('yoyoSqlite库,已获取!');
                         resolve();
                     }
                 });
             });
         })();
     }
     return require(sqlitePath).sqlite;
 }
 
 mc.listen("onServerStarted", async () => {
     sqlite = await yoyoSqlite();//等待导入完成(不存在会自动获取仓库)
     /* 多个参数的时候你可以传对象 */
     let isSetConfig = sqlite.connectDb({
         path: '.\\plugins\\sql\\yoyo.db',
         create: true,/* 不存在是否自动创建 */
     });
 
     if (isSetConfig) {
         log('数据库连接成功');
     } else {
         log('数据库连接失败');
     }
 
 });
 